Database-management systems were developed in the 1960's and have continued to evolve to the present time. Initially, database-management systems were generally implemented as software programs running on single computer systems. The early database-management systems provided relatively primitive functionality and cumbersome interfaces for querying data stored within single computer systems. Over time, new database models and accompanying schema-definition languages and query languages were developed, providing powerful logical tools and interfaces to both human users and application programs. These models facilitated use of a variety of increasingly sophisticated hardware platforms for database-management systems, from distributed computer systems and mass-storage devices interconnected by high-bandwidth communications media to highly specialized hardware platforms specifically designed for executing database-management systems.
The distribution of database-management systems and query-processing engines over multiple processors within single multi-processor systems and over multiple computer systems within distributed computer systems has provided an enormous increase in the query-processing bandwidth of database-management systems as well as corresponding decreases in the average elapsed times needed to process queries. However, distribution of query processing over multiple processors and/or computer systems involves solving many extremely complex problems, including problems associated with efficient query-processing-task decomposition, efficient inter-task communication, efficient sharing of distributed resources, ensuring database consistency over distributed components and tasks, and other such problems. While many of these problems have been addressed in current implementations of parallel-database-management systems, researchers in database-management-system fields, designers and developers of database-management systems, designers and developers of hardware on which database-management systems execute, vendors of database-management systems and underlying hardware, and, ultimately users of database-management systems continue to seek advancements in distributed database-management systems that provide ever-increasing query-processing bandwidth and efficiencies in query-processing times and use of computational resources.